package com.xyy.saas.payment.adpater.jdCredit.req;

import com.jddglobal.open.request.base.JddRequest;
import com.jddglobal.open.support.util.JacksonUtils;
import com.xyy.saas.payment.adpater.jdCredit.resp.SmapiResponse;
import lombok.Data;
import org.apache.http.client.utils.DateUtils;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 退款申请入参
 *
 * @author lanchunqiu
 * @date 2024/2/28 16:56
 */
@Data
public class PayRefundReq implements JddRequest<SmapiResponse> {
    /**
     * 请求编号（必填）
     */
    private String reqNo;
    /**
     * 请求时间（必填） yyyyMMddHHmmss
     */
    private String reqDate;
    /**
     * 合作方编号（必填）
     */
    private String partnerCode;
    /**
     * 产品编号（必填）
     */
    private String productCode;
    /**
     * 订单编号（必填）
     */
    private String loanNo;
    /**
     * 退款金额（必填）
     */
    private BigDecimal refundAmount;
    /**
     * 退款原因
     */
    private String refundReason;

    @Override
    public String getApiMethod() {
        return "/smapi/v1/nav/payRefund";
    }

    @Override
    public String getJsonParams() {
        return JacksonUtils.toJson(this);
    }

    @Override
    public Class<SmapiResponse> getResponseClass() {
        return SmapiResponse.class;
    }

    @Override
    public String getRequestTime() {
        return DateUtils.formatDate(new Date(), "yyyyMMddHHmmssSSS");
    }
}
